package com.sbtr.business.calibration.service;

import com.sbtr.common.PageDto;
import com.sbtr.open.calibration.dto.*;

import java.util.List;

public interface ICalibrationTxtService {
    CalibrationDto save(CalibrationDto dto);
    boolean batchSave(List<CalibrationTxtDto> dtos);

    List<CalibrationTxtDto> search(Long id);

    List<CalibrationTxtDto> searchHasCalibratedByIds(Long id);

    List<CalibrationTxtDto> searchHasCalibratedByIdsAndFinisher(Long id, String finisher
    );

    boolean updateCalibrationTxtRecordDaily(CalibrationDetailsDto calibrationDetails);
    List<CalibrationCountDto> countByCalibrationSetId(List<Long> calibrationIds);

    Boolean update(CalibrationTxtDto dto);
//    saveOrUpdateBatch

    List<CalibrationCountByClassifyDto> countHasCalibrated(CalibrationSearchByDetailsDto dto);

    PageDto<CalibrationTxtDto> searchTxt(String materialSetId, Long page, Long pageSize);

//    @RequestMapping(value = "/searchTxts", method = RequestMethod.GET)
//    PageDto<CalibrationTxtDto> searchTxtsNoMark(@RequestParam("materialSetId") String materialSetId,
//                                                @RequestParam("page") Long page, @RequestParam("pageSize") Long pageSize);

    List<CalibrationTxtDto> searchByIds(List<Long> idList);

    boolean batchDeleteTxt(List<Long> idList);

    PageDto<CalibrationTxtDto> getTxtNoDetails(CalibrationSearchByDetailsDto dto);

    PageDto<CalibrationTxtDto> getTxtDetails(CalibrationSearchByDetailsDto dto);

    List<CalibrationCountByFinisherDto> countTaskByCalibrationIds(Long id);
}
